define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function ($, undefined, Backend, Table, Form, Template) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'xilujob.package/index',
                    add_url: '',
                    edit_url: '',
                    del_url: '',
                    multi_url: '',
                }
            });

            var table = $("#table");

            Template.helper("Moment", Moment);

            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                templateView: true,
                columns: [
                    [
                        {field: 'state', checkbox: true, },
                        {field: 'id', title: 'ID', operate: false},
                        //直接响应搜索
                        {field: 'name', title: __('套餐名'), formatter: Table.api.formatter.search},
                        //通过Ajax渲染searchList
                        {field: 'salesprice', title: __('套餐价格'), align: 'center', operate:false},
                        //点击IP时同时执行搜索此IP,同时普通搜索使用下拉列表的形式
                        //启用时间段搜索
                        {field: 'createtime', title: __('Create time'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                    ],
                ],
                //禁用默认搜索
                showExport:false,
                showToggle:false,
                showColumns:false,
                search: false,
                //启用普通表单搜索
                commonSearch: false,
                //可以控制是否默认显示搜索单表,false则隐藏,默认为false
                searchFormVisible: false,
                //分页大小
                pageSize: 12
            });

            // 为表格绑定事件
            Table.api.bindevent(table);

            //点击详情
            $(document).on("click", ".btn-detail[data-id]", function () {

                Backend.api.open('xilujob.package/order/ids/' + $(this).data('id'), __('支付'));
            });
        },

        order: function(){

            $(document).on('click',".pay-type input",function () {
                var payType = $(this).val();
               if(payType == 1){
                    $("#corporate").hide();
               }else{
                   $("#corporate").show();
               }
            })
            Form.api.bindevent($("form[role=form]"),function () {

            },
            function () {

            },
            function(success, error){
                //注意如果我们需要阻止表单，可以在此使用return false;即可
                //如果我们处理完成需要再次提交表单则可以使用submit提交,如下
                var form = this;
                if (form.size() === 0) {
                    Toastr.error("表单未初始化完成,无法提交");
                    return false;
                }
                var type = form.attr("method") ? form.attr("method").toUpperCase() : 'GET';
                type = type && (type === 'GET' || type === 'POST') ? type : 'GET';
                var url = form.attr("action");
                url = url ? url : location.href;
                Fast.api.ajax({
                    type: type,
                    url: url,
                    data: form.serialize(),
                    dataType: 'json',
                    complete: function (xhr) {
                        var result = xhr.responseJSON;
                        //关闭弹窗
                        if(result.code == 1){
                            //微信支付
                            if(result.data.pay_type == 1){
                                Fast.api.ajax({
                                    type: "POST",
                                    url: Fast.api.fixurl("/api/xilujob.pay/pay"),
                                    data: {order_id:result.data.id,platform:result.data.platform,pay_type:result.data.pay_type},
                                    dataType: 'json',
                                    complete: function (xhr2){
                                        var result2 = xhr2.responseJSON;
                                        console.log(result2);
                                        if(result2.code == 1){
                                            if(result2.data.platform=='pc'){
                                                var html = "<img style='display:block;margin-left:auto;margin-right:auto;' src="+result2.data.code_url+" />";
                                                layer.open({
                                                    //formType: 2,//这里依然指定类型是多行文本框，但是在下面content中也可绑定多行文本框
                                                    title: '扫码付款',
                                                    area: ['400px', '400px'],
                                                    btnAlign: 'c',
                                                    closeBtn:'1',//右上角的关闭
                                                    content: html,
                                                    btn:['确认','关闭'],
                                                    yes: function (index, layero) {

                                                    }

                                                });
                                            }
                                        }
                                    }
                                });
                            }else{
                                Toastr.success("订单创建成功，请尽快付款");
                            }
                        }else{
                            Toastr.error(result.msg);
                        }
                        return false;
                    }
                }, function (data, ret) {
                    return false;
                }, function (data, ret) {
                    return false;
                });
                return false;
            });
            //Controller.api.bindevent();
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            },
        }
    };
    return Controller;
});